package 预科0102;
/*定义一个长度为[16][16]的整型二维数组并输入所有位置的元素值，分别实现二维数组中所有行和所有列中所有元素的累加和并打印。
再分别实现二维数组中左上角到右下角和右上角到左下角所有元素的累加和并打印。
*/

import java.util.Random;
import java.util.Scanner; 

public class DataSum {
	public static void main(String[] args) {
		//创建16*16的二维数组
		int[][] array=new int[16][16];
		Random rand = new Random();
		//存放所有元素合计值
		long sum=0L;
		//存放左上角到右下角所有元素合计值
		long sumLeftToRight=0L;
		//存放右上角到左下角所有元素合计值
		long sumRightToLeft=0L;
		//双重循环给数组赋值
		for(int i=0;i<16;i++) {
			for(int j=0;j<16;j++) {
				array[i][j]=rand.nextInt();
				sum=sum+array[i][j];
				System.out.print(array[i][j]+" ");
			}
			//左上角到右下角所有元素合计值 array[0][0]~array[15][15]
			sumLeftToRight=sumLeftToRight+array[i][i];
			//左上角到右下角所有元素合计值 array[0][15]~array[15][0]
			sumRightToLeft=sumRightToLeft+array[i][15-i];
			System.out.println("");
		}

		System.out.println("数组所有元素和为："+sum);
		System.out.println("数组左上角到右下角所有元素和为："+sumLeftToRight);
		System.out.println("数组右上角到左下角所有元素和为："+sumRightToLeft);
		
	}
}